package utilities;

import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.JTable;
import javax.swing.table.TableColumn;

public class JTable2 {

	private ResultSet res;
	private int numRighe;

	public JTable2(ResultSet res) throws SQLException, NullPointerException {
		this.res = res;
		res.last();
		numRighe = res.getRow();
		res.beforeFirst();
	}

	public JTable riempiTabellaPreferiti(int numCopie) throws SQLException,
			NullPointerException {
		JTable tabella = new JTable(numRighe, 4);
		tabella.setShowGrid(true);
		tabella.setEnabled(true);
		tabella.setRowHeight(35);
		tabella.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		int i = 0;
		TableColumn column0 = tabella.getColumnModel().getColumn(0);
		column0.setHeaderValue("Titolo");
		column0.setPreferredWidth(120);
		TableColumn column1 = tabella.getColumnModel().getColumn(1);
		column1.setHeaderValue("ISBN");
		column1.setPreferredWidth(150);
		TableColumn column2 = tabella.getColumnModel().getColumn(2);
		column2.setHeaderValue("Numero Copie Presi");
		column2.setPreferredWidth(200);
		TableColumn column3 = tabella.getColumnModel().getColumn(3);
		column3.setHeaderValue("Numero Copie Rimanenti ");
		column3.setPreferredWidth(200);

		while (res.next()) {
			tabella.setValueAt(res.getString("Titolo"), i, 0);
			tabella.setValueAt(res.getString("isbn"), i, 1);
			tabella.setValueAt(res.getString("Numero"), i, 2);
			tabella.setValueAt(res.getString("numCopie"), i, 3);

			i++;
		}

		return tabella;
	}

	public JTable riempiTabellaVistaDalCliente() throws SQLException,
			NullPointerException {
		JTable tabella = new JTable(numRighe, 8);
		tabella.setShowGrid(true);
		tabella.setEnabled(true);
		tabella.setRowHeight(35);
		tabella.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		int i = 0;
		TableColumn column0 = tabella.getColumnModel().getColumn(0);
		column0.setHeaderValue("Titolo");
		column0.setPreferredWidth(250);
		TableColumn column1 = tabella.getColumnModel().getColumn(1);
		column1.setHeaderValue("Autore");
		column1.setPreferredWidth(150);
		TableColumn column2 = tabella.getColumnModel().getColumn(2);
		column2.setHeaderValue("Genere");
		column2.setPreferredWidth(120);
		TableColumn column3 = tabella.getColumnModel().getColumn(3);
		column3.setHeaderValue("Casa Editrice");
		column3.setPreferredWidth(120);
		TableColumn column5 = tabella.getColumnModel().getColumn(4);
		column5.setHeaderValue("Inizio Prestito");
		column5.setPreferredWidth(150);
		TableColumn column6 = tabella.getColumnModel().getColumn(5);
		column6.setHeaderValue("Scadenza Prestito");
		column6.setPreferredWidth(150);
		TableColumn column7 = tabella.getColumnModel().getColumn(6);
		column7.setHeaderValue("Consegna Prestito");
		column7.setPreferredWidth(150);
		TableColumn column8 = tabella.getColumnModel().getColumn(7);
		column8.setHeaderValue("ISBN");
		column8.setPreferredWidth(120);

		while (res.next()) {

			tabella.setValueAt(res.getString("titolo"), i, 0);
			tabella.setValueAt(res.getString("autore"), i, 1);
			tabella.setValueAt(res.getString("genere"), i, 2);
			tabella.setValueAt(res.getString("casaEditrice"), i, 3);
			tabella.setValueAt(res.getString("inizioPrestito"), i, 4);
			tabella.setValueAt(res.getString("dataStimata"), i, 5);
			tabella.setValueAt(res.getString("dataReale"), i, 6);
			tabella.setValueAt(res.getString("isbn"), i, 7);
			i++;
		}
		return tabella;
	}

	public JTable riempiTabellaCercaLibroCliente() throws SQLException,
			NullPointerException {
		JTable tabella = new JTable(numRighe, 7);
		tabella.setShowGrid(true);
		tabella.setEnabled(true);
		tabella.setRowHeight(35);
		tabella.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		int i = 0;
		TableColumn column0 = tabella.getColumnModel().getColumn(0);
		column0.setHeaderValue("Titolo");
		column0.setPreferredWidth(250);
		TableColumn column1 = tabella.getColumnModel().getColumn(1);
		column1.setHeaderValue("Autore");
		column1.setPreferredWidth(150);
		TableColumn column2 = tabella.getColumnModel().getColumn(2);
		column2.setHeaderValue("Genere");
		column2.setPreferredWidth(120);
		TableColumn column3 = tabella.getColumnModel().getColumn(3);
		column3.setHeaderValue("Casa Editrice");
		column3.setPreferredWidth(120);
		TableColumn column4 = tabella.getColumnModel().getColumn(4);
		column4.setHeaderValue("Scaffale");
		column4.setPreferredWidth(80);
		TableColumn column5 = tabella.getColumnModel().getColumn(5);
		column5.setHeaderValue("ISBN");
		column5.setPreferredWidth(200);
		TableColumn column6 = tabella.getColumnModel().getColumn(6);
		column6.setHeaderValue("Copie Disponibili");
		column6.setPreferredWidth(150);

		while (res.next()) {

			tabella.setValueAt(res.getString("titolo"), i, 0);
			tabella.setValueAt(res.getString("autore"), i, 1);
			tabella.setValueAt(res.getString("genere"), i, 2);
			tabella.setValueAt(res.getString("casaEditrice"), i, 3);
			tabella.setValueAt(res.getString("posizioneScaffale"), i, 4);
			tabella.setValueAt(res.getString("isbn"), i, 5);
			tabella.setValueAt(res.getString("numCopie"), i, 6);
			i++;
		}

		return tabella;

	}

	public JTable riempiTabellaCercaCliente() throws SQLException,
			NullPointerException {
		JTable tabella = new JTable(numRighe, 6);
		tabella.setShowGrid(true);
		tabella.setEnabled(true);
		tabella.setRowHeight(35);
		tabella.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		int i = 0;
		TableColumn column0 = tabella.getColumnModel().getColumn(0);
		column0.setHeaderValue("ID Cliente");
		column0.setPreferredWidth(60);
		TableColumn column1 = tabella.getColumnModel().getColumn(1);
		column1.setHeaderValue("Nome");
		column1.setPreferredWidth(150);
		TableColumn column2 = tabella.getColumnModel().getColumn(2);
		column2.setHeaderValue("Cognome");
		column2.setPreferredWidth(170);
		TableColumn column3 = tabella.getColumnModel().getColumn(3);
		column3.setHeaderValue("Email");
		column3.setPreferredWidth(150);
		TableColumn column4 = tabella.getColumnModel().getColumn(4);
		column4.setHeaderValue("NumLibri");
		column4.setPreferredWidth(70);
		TableColumn column5 = tabella.getColumnModel().getColumn(5);
		column5.setHeaderValue("Password");
		column5.setPreferredWidth(150);
		
		while (res.next()) {
			tabella.setValueAt(res.getString("idCliente"), i, 0);
			tabella.setValueAt(res.getString("nome"), i, 1);
			tabella.setValueAt(res.getString("cognome"), i, 2);
			tabella.setValueAt(res.getString("email"), i, 3);
			tabella.setValueAt(res.getString("numLibri"), i, 4);
			tabella.setValueAt(res.getString("password"), i, 5);
			i++;

		}

		return tabella;
	}

	public JTable riempiTabellaClienteScadenza() throws SQLException,
			NullPointerException {
		JTable tabella = new JTable(numRighe, 6);
		tabella.setShowGrid(true);
		tabella.setEnabled(true);
		tabella.setRowHeight(35);
		tabella.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		int i = 0;
		TableColumn column0 = tabella.getColumnModel().getColumn(0);
		column0.setHeaderValue("ID Cliente");
		column0.setPreferredWidth(120);
		TableColumn column1 = tabella.getColumnModel().getColumn(1);
		column1.setHeaderValue("Nome");
		column1.setPreferredWidth(150);
		TableColumn column2 = tabella.getColumnModel().getColumn(2);
		column2.setHeaderValue("Cognome");
		column2.setPreferredWidth(120);
		TableColumn column3 = tabella.getColumnModel().getColumn(3);
		column3.setHeaderValue("Inizio Prestito ");
		column3.setPreferredWidth(200);
		TableColumn column4 = tabella.getColumnModel().getColumn(4);
		column4.setHeaderValue("Data Stimata");
		column4.setPreferredWidth(200);
		TableColumn column5 = tabella.getColumnModel().getColumn(5);
		column5.setHeaderValue("ISBN");
		column5.setPreferredWidth(150);

		while (res.next()) {
			tabella.setValueAt(res.getString("Cliente_idCliente"), i, 0);
			tabella.setValueAt(res.getString("nome"), i, 1);
			tabella.setValueAt(res.getString("Cognome"), i, 2);
			tabella.setValueAt(res.getString("inizioPrestito"), i, 3);
			tabella.setValueAt(res.getString("dataStimata"), i, 4);
			tabella.setValueAt(res.getString("Libri_isbn"), i, 5);
			i++;
		}

		return tabella;
	}
}
